package com.grm.sys.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 系统菜单
 *
 * @author gaorimao
 * @date 2022/02/08
 */
@Data
public class SysMenu implements Serializable {
    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 父id
     */
    private Long parentId;
    /**
     * 菜单名
     */
    private String label;
    /**
     * url映射路径
     */
    private String path;
    /**
     * 权限符
     */
    private String perms;
    /**
     * 类型（0：目录;1：菜单;2：按钮）
     */
    private Integer type;
    /**
     * 菜单图标
     */
    private String icon;
    /**
     * 排序
     */
    private Integer orderNum;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date created;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date updated;

    /**
     * 子菜单
     *
     * 指定数据库不需要添加的字段
     */
    @TableField(exist = false)
    private List<SysMenu> children;
}
